{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Computational_Python_SymPy.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyPnuTDsXXx0A0s65dgIxUq9",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Divyanshu-ISM/Oil-and-Gas-data-analysis/blob/master/Computational_Python_SymPy.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ErErSfXr25se",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "grMX5NCNj8rC",
        "colab_type": "text"
      },
      "source": [
        "#An Introduction to numerical python using SymPy\n",
        "\n",
        "## author : Divyanshu Vyas\n",
        "\n",
        "## Domain : Oil and Gas / Reservoir Engineering | Data Science & ML\n",
        "\n",
        "## Email : dvyas13ad@gmail.com"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "CDq2ghaxfYwx",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import sympy as smp\n",
        "from sympy import *"
      ],
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3WJhGmBdpIDb",
        "colab_type": "text"
      },
      "source": [
        "#Assigning symbols\n",
        "\n",
        "Usually, the best practice is to assign Symbols to Python variables of the same name"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "14OhYDunfgZ3",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "x = smp.symbols('x')"
      ],
      "execution_count": 4,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nwgLhq0spZUI",
        "colab_type": "text"
      },
      "source": [
        "#The difference between SymPy Symbols and Python variables."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "VxbckgFEpb_U",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "5d29dc3a-b4b6-4456-af0b-6c406ce43d30"
      },
      "source": [
        "u , v = symbols('u v')\n",
        "\n",
        "exprsn = u + v + 3\n",
        "\n",
        "print(exprsn)"
      ],
      "execution_count": 45,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "u + v + 3\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EGdF45IXflwR",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "y = smp.Integral(x,x)"
      ],
      "execution_count": 5,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jCz7ZCcRfoX-",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "16d421d6-2554-45d8-dc47-79c94fd106e6"
      },
      "source": [
        "diff(sin(x),x)"
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "cos(x)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "D5p1Pw6OjS1e",
        "colab_type": "text"
      },
      "source": [
        "#Changing the printing font to unicode"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Ky0CrMsbgrMN",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "init_printing(use_unicode=True)"
      ],
      "execution_count": 14,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "5GNLZcGyjXsk",
        "colab_type": "text"
      },
      "source": [
        "##Differentiation"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BOCiLpNliVYg",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "z = diff(exp(x)*cos(x),x)"
      ],
      "execution_count": 16,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lpETbi3-ibNa",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "860f807c-b708-4cf3-d89e-ba8052484761"
      },
      "source": [
        "z"
      ],
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$- e^{x} \\sin{\\left (x \\right )} + e^{x} \\cos{\\left (x \\right )}$$",
            "text/plain": [
              "   x           x       \n",
              "- ℯ ⋅sin(x) + ℯ ⋅cos(x)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 18
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-eD5VQpUjbLE",
        "colab_type": "text"
      },
      "source": [
        "##Integration"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rRKLLJaoif81",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 40
        },
        "outputId": "1cd60260-c5f5-429a-ea1b-70b86df8dd8c"
      },
      "source": [
        "integrate(x**2,x)"
      ],
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAAYCAYAAABjswTDAAAABHNCSVQICAgIfAhkiAAAAj5JREFUWIXt1j9sTWEYBvBfNZHGQPxLY2gQTYm0CLHp0EQiCCIM0slUA4M0JpHoUq2hkSCERNvBIhZbRbHQaGIojfgzIAhFxP8Q1WL4vup1c++5tyeNDu2TnOG87/Oc9/m+8573O0wi7EU/PsfrFjZPqKMEbMNGVKIKzfiJFRNpaix4jz0TbaIQSrELg6jJwynHME5kxI7iGl7gu7DYPhzG3PE2WYOvGMJHyT3bgN+oy4gNohftaBUWcjvyXqJiPM1OF3p2DVrwDtV5uF0xX5oRK8vDbRYMn8pX+Eok7MiKl6Az5loTrXMV53LEZ+IHOgroR7Ay1utOIgzjvn9X3xaFZ4ooch3nc8Tr4zO2Fmn2UOS3JZE6I2l3vD8Y7y9gWha3FbVYJPRuC34J4ywbF4XezvfaD6AJx3Aj1ryL+UlmK4Sv8in2RdFloTdzLeyZ8HrfCi2wIQevDF+i4Xx4HWuNXF3C9CiIlgxRD2YUI0rAlvis+iK45diOR3iF1YUEjUbNLkvv8S86hN2fNQbNwqi5l0SqF/puQDB7OqXBEZQK46orhbYvepiXK7lJGNL9QmM/FM76palsBtTFgg0ptG+idnZ2Yh2+4QkWxNjOSL6UymbAcWEc5vpYquRujWlGD4We7OQq4agcwJKs3MjRV5vCaAme42ae/H5h8nTjrPBht+NxrDmA5ZmCSmFsfJD71259FPamMLs2ahvz5KtxEneEvh7CJ2GDmjAnRc3UOCKYXfw/i6bFA2HXpjCFSYk/f8iQRjLnNygAAAAASUVORK5CYII=\n",
            "text/latex": "$$\\frac{x^{3}}{3}$$",
            "text/plain": [
              " 3\n",
              "x \n",
              "──\n",
              "3 "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wHr4SffRi7BB",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 41
        },
        "outputId": "6356828d-b190-4bda-a54a-9b9704bd065b"
      },
      "source": [
        "integrate(x*sin(x) + exp(-x**2))"
      ],
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAASsAAAAYCAYAAACiPdsDAAAABHNCSVQICAgIfAhkiAAACNlJREFUeJztnGuQVMUVx3/rgoIomGiipjQ1KiIhFSUafNVqiVpQ4iMJWkYxlYwixkJj4gujqcT9YMQ3KoovNGviAwKUWsZHSKVEwSrFJRIR8YmLJaw8XPGJEHTz4ZzO3Onpntszc2cu7N5/1dTuntN97jnnnu4+fbpnIUOGDBkyZMiQIUOGDBnSwmhgI/B3oDvBT4YMwbgfWAMMqLL/QUjQnZ2YRvVDDtG1LUGZtfoPtg4fPgRMTFuJCjEQuBXoADYhPv6d8npT3PcIjAC+Bi6qUc4jQCewQ80a1Rc5kp2skvIfbNk+HAh8BHwzbUUqxOPI+34CuApoBYbR+LjfFfgKmArsjExwjwBvAxuAj4EFwHhgmxp16rGYC6wH+tco52AkKK6oWaP6oi8wFNg9IXlJ+Q+2bB+eDcxJW4kKMRTx59MOXqPj/hxtNxI4V39fBTwITAbuU326gdlAU4169TgMQVaXuxOStwxYQfUrQx55WUclpE+9kbT/YMv14XzgpIRl1hsTEV9MsOhpxP1TwDqgGTgaONHRfjfgPUTnkxPSrQRzPQ9oQrYb3cA1Fu9gYCawEiladqqcUx3yTwWeQ1LFDcAS4HJgO0fbk4B/qbyNyOz9LO5awzWq2zEJ2XWl0kZ75MUhT20DLcT2HO5tYJSeA2YgwfUl0A6c4Hhe0v6D9H3owt5IbadvmTbHE15Q/6FHxskUBvUm4C0kY2m22o1UOTcg4+gxoEtp31c5vmd/j8bH/UAkHv/s4UdxhcqaGtC2KhyA7Edfo9ixN+qD77LaTwA2IwbMAq4GpgOLgXlW26tVxlrgDuB64FWlzQO2jbQ1qWYnsmoYuQuBlxx6t6sevgJjpXYdSyGIqkGe6gdaqO05yk9WzyAD8wVgClKE/RLxw0irT9L+g3R9OAD39rgVuCWmbwswTZ/9qvYxnxlKnw/8kdKMohl4WNu8hcT5zcAbSrvfan8xhe3dJqT2MxnZUjUDh+tz1wD/jehxpfIbHffjlB+SmV6qbacEtK0abfqQvP5tZsiZFL+cYYgDu5BVwMYekd8PUxnvISmiQR8KhcPoXnkRMgF+2yF3F+vvAcgLW+I25/9oI8wugEHKWxgj04c81Q+0UNtzlJ+supGgjmK00p+M0OrhP0jHh0OQyeJzZMBH0QQsBw4MkPMTffZVFn2S0sd7+t2m/MlIbBv0BZ5X3rAI/UGlfQoc6pHZDHwBvGLR04j7WcBnQL+YZ/ZRvWrJrIOwJ7JFexc4n8LMv63VbqryLgyQeY+2PcfBG4LM/ssjtEVIwH0jQPYQlT03pl2oXQYbgA8Cnu9CntomqxDbc5SfrDoo3XaA1CTWRf6ul/+g8T7cDfgRUmr4nOKTrSORTCkErfrsUyy6yawOcvQ5BKkfPeqRaTLmMyO0ZUo7q4wuP8D9nhsd9/2QSXVWzPNAMjNzculFB+H77W7gAY+cyZE2zwPbO9q8pPyhAcov0raDPfwVyh+kf19EYSs0BVnpvuXpa7K2mQF6hNhlsBJZueLQQWU+b4uRF2p7ziPP0H2DZgGyOBjUy3+Qng/NxPCLCO1eZGsSgke1/74W/U1kN+GqsT6gfR6ieOtoPrMpzsoGIO9hNeUL2r/UfhdY9EbH/Ynaf1zMsy7Qdsuwrof0sRq+g9QlQrHKQ18b+X08koba2El/rgx4jpmEOj38TuC7KvNj4CZk9Z+IGP9bxAHPIgHXHum7QX/GpaYQZpdB/4jscriZgi8MhgM/RmoUHRZvcYy8Smwvh/Ue+maKB0e9/Afp+XAWcoHy58BfkME5Fne5woXhyHbn7QhtR2SxXYps022M0p+nx8heoT8PQN7DE0hG5oPZtr5s0Rsd92ORulq5bOl8pCb4GlL07wrQrSaMQ5zXiQySOzztqsms9vHwTWZlByxKG4NsJb8CPqQ40/iO9l0Qo0OoXSBB9DUy+VeDPNVvA6MoZ3uO8pmVTTeYp3yDevgP0vfhHMRnuwNn4L6j5MJOFDKQKI5Q+l8dffpRWFBCYbZkv4ppNx/x444WvZFx34wsoE+V6WsW1SW4662JYwwye76CDIrXkbR3P0fbSmpW0/EXJgdTWrPy4V6VEz2KbUJOS9Y6ewgqsQvkWLib6i8P5klmsorCtj1HMpNVPfwH6fvwp9r/YuAfxGc8Bkdpv2kW/TcReTb6K29pBfrdh7/+ZdAEfIKcJrp4jYp7c8XCVXMGuEz5L1N6AFYXtCDp4XIKx76n4K9/RE8Dhzn40dPAw1XOuxRnRc0U6gO/j9BH4r75ak4Oj7Poph7gqolVahdIEbQbWf2qQZ7qB1qo7TmSmawgef9Buj4EKSB3IXp3EX7D22QI9sA0h0SjSnoI/qP8sR5+C8UHHouR7WS5A4r9VOYMD79RcX8rklDs6ujzB+3TToO+wjQcqXF0UrpVM9u9Ixz9JiBGbAT+BvwJuBPZ9j1jtb1W5awGbgeuo3C8OZ/il7YeeB95GTcg90IWUnCKfanvdOWdl5BdDyO1nT0dvBDkqX6ghdqeI7nJKmn/Qbo+NLhTZUyvoE+b9jnEos+hsJPYg1KMQhbvbuCfyHubgoyLd5BrOwbbIRlPXP3RvJdJMfx6xn2T6u7abpri/2bE1lbHJ+/RvSoMRo4qPwL2d/DNRbEXPP0PQ17kGuQFrELqA/axL8BpiNGfIgcBS5GMyi4SnotckFuOrA5dSIo5idK9O8hEtxp4MQG7BiEFxnJZQxzyVD/QQm3PkdxklaT/IH0fGrSojCMr6LMYWYDtE7OfIXWbL4BLPH1HIIvMB8jEtQ5ZkO+i+Ja5+S8Hrsu0UVyv7Y718BsR9yO0veuL0q3En9zO8+jeq3E54hzfVyBC8WuV01KzRlsXkvIfbDk+bEIGfE/+Mm29495882SvGuVniKAfcqr4eA0y+iOZ4exENNq6kIT/oHf7MA3UO+6XEX9VJAiuG8q9FZuBfyP1gHYkDa8U+yL1t+vw31PqqUjCf9C7fZgG6h33tyO1vwwZMmTIkCFDhgwZMmTIkKES/A/Cp8eV3+jgwAAAAABJRU5ErkJggg==\n",
            "text/latex": "$$- x \\cos{\\left (x \\right )} + \\sin{\\left (x \\right )} + \\frac{\\sqrt{\\pi}}{2} \\operatorname{erf}{\\left (x \\right )}$$",
            "text/plain": [
              "                     √π⋅erf(x)\n",
              "-x⋅cos(x) + sin(x) + ─────────\n",
              "                         2    "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 20
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yCW5SGeyjAeY",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "877a4969-1850-4ccd-a3fe-2b472f43ba7b"
      },
      "source": [
        "integrate(sin(x),x)"
      ],
      "execution_count": 22,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAVCAYAAAAHIbMXAAAABHNCSVQICAgIfAhkiAAAA3hJREFUWIXt2F2MXVMUB/DfzFAdJTMSBFEvxqASHxFNKvUg4UEfRKJp8IR+RCihCUnrWVHFg0h9VFKJhFLRpC8yiWh9JEyniPp66VRF59KhKsIYWuNh7ZOeOXPO3Nu5N2Ga+Sc395y1/vu/19l37bX2ucxgBhV4GQcwpwmNKzGGZS2JaJrgKvyDVS3Qegs1nNICrWmBPhxCZwu05ovsW9MCrf89ekXWvdBCza+xD+2Zob2aO2XMx2bsx6hI9z4sKeEuwXv4FSPYjdU4qYR7I95JeqMYwg7cXcK9E20pjjL0iUy6uWBvw6bke6zgew3n4foKzaaxHIfFw72BtdiIz7C9wF2bghzGBjyBL5JtO2bluCuSvSayKdPtx86SOAZSHFWN4jIcwVfoyNmfTPM8XzLmuuRbX6HZFObhbxzEJSX+c3PXC1Ig3+GsnP0EbDOxvuwSP8iZJbqnF+7niIXbXSfeTWme29P9mnS/WfmO7Er+/jq6U8IzSfyBBrgvJu6KEl+vyIrBnG0XfsdpDWj3Ju2+Ory5olTsxco05m3jM76IEfxQ5fw2iTT6eSU3dmeyXVQnaGIxxtBT4d+X/F3pfpWj2/Zp3IQzKsZmWV1V7/J41NFn+RAn1+HvF1mN2CZ57MGfDUyaYSh33Z2boB6yRalV+GuiOHeLZvIUfhLN4T7cLx54Bx4UNS7DSPqe3UAcw7nrpfijDr8zp99STCXzzq/wZ5nXXeLrxiKx9Y/gZ+Oz8Jw09oM6MdwmjjO1xN9Qh9+e+Hvq8KaEY6l5GxN3aYmvx8SaV4WXTDxytIlXsuHSEYFF+Aufi4X/RjS7CycZc3Ga680G4jpm5LvtvBJ/vttenQLZa3zWdGBr8j2cs18rFqWIrDPfULBvUV1TF4rtOYizk21x4m8t4We4I3FWTsJpCstF1ozidTyC58Q2fbfAfTwF8yOexTpxvBjD+8Z3vUP4XizKenEe60/cAZxY0L41+e4p2C9PWjUTS0ZWdq6peLZXRbOYW+FvCRaI1D4gtsaQOAIsLuHeImrTb6JRfSkyrljs7xIv54Miaw7iUzyEU0t0Z4kf5eOcrUccM37BpSVjskPwRyW+LtEoJsvM4wqrxWJc0QKte5PWwhZoTQvMFl17W5M6nWL3bCk6OiZyjxscxifiT4YB0cymggtEDV8n6uUMZvAf41/QRvWqQlEMoQAAAABJRU5ErkJggg==\n",
            "text/latex": "$$- \\cos{\\left (x \\right )}$$",
            "text/plain": [
              "-cos(x)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 22
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "5xxFLc3Rjh6m",
        "colab_type": "text"
      },
      "source": [
        "###Integration with ranges"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "NcD0hg72jt7s",
        "colab_type": "text"
      },
      "source": [
        "-> Amazing that -inf can be writen as -oo (minus double o's)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "azQxLfUmjGam",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 42
        },
        "outputId": "c0809ce5-e52b-4297-e54a-3500b4a0bfef"
      },
      "source": [
        "integrate(sin(x**2),(x,-oo,+oo))"
      ],
      "execution_count": 23,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAAeCAYAAACCJCjqAAAABHNCSVQICAgIfAhkiAAAA3VJREFUaIHt2VuoVFUcx/HP0ZOZlnUqOhYRJViBL5X1ltIpSMJjFwrsQvagmEVUdDEIBImooCTI6EKURXRP6qGyy4to0UtgYSZFhFR0Iyzpot19+K+x3XbP7L1nzpzTkfnCMDP/tf7rt/5r//da/z1Djx6jSV8bPv+Msf64ZDaWjfUk/g9MqNl/Pl7txkTGG3UX7hh80Y2JjDfqLNwgvunWRMYbdRbuHLzWrYnsyzyo/q3dKfPwG14Rp/lIvUaN/XD/aAomnsbVY6A7Ygzh4gL7YViCl/ApdmIH3sZinWXoNPyAQzsYo4xB/IXVuhTLXRgosC8Tqf8VnsKdeAw/JvuL2i9yl2Btm75VWSrmOaTDWCagv8D+cJP+Z2KBva/GdHyeBC+sGESejTi3Td+qrMP3mKiDWAbwOq7I2WdgeRuTujWJrW7Ddwa+E3trM+arfhicXOA/TRw8ayrMZ69Ystk1C99iGE9k7MPae1r4I73/2aLPVBHA1zn7IjyTGaOIHeKkvwpbxK3U4EQsFPvTW/igwH8Yk8SeVkZpLDPThLJX+qEKA+fpx2ZxleYVtB8vFuYXsZ9k6cNnOKWCzvlJ4/acfXmyL27h+wJ+xuQSjbJY9vAxzkqfp2JVycBF3JOEmmXqdJyKDWLxDsy0zcWHFXVWJp2LcvZnk312E7/J+EksXhllsexhFe5Nn88TTwx1uDYJbVVeSjROtUUZ26O4uaLWy8l/Zs7+ibi99m/ityD5XVoyfp1YDCVhYgHLUjnLNUloi8iqMgawC2+m71NE7XZURb1tInOyZcJB+FvcXs1YIw6Gg1v0qRuLflG7nIAHqjgkrk9Cm3FEDb+1ogg9EpeJk70KhyS9d3L2Ocn+ZBO/iaIEWddi7HZj8VwSXlqx/y1JaBMOryOEC5LvjXgDl1T0OyP55S/udZnxihhK7c1i6yQWl4t0P7pC3xVJ6D3tPR5NwnZxkm7HARX9GlmRX4BHkv3sJn73iQwfLGirHEvRUwLx89EmfNnKWRTLt6WJbBSbaZ5teLzFGL/jeVwpDoadJZoNTkrv+RqtEfAsfOS/MfSJEuZdUbNmGYlYwLFlHfxbDrR6ra8wzump79wKfRu8L4KckrMvFHvYr7gp13Za0rmhYLyVRiaWUaUPd+v+v153iAU4rss6+xxbRab26NGjR48W7AYtbwBnJ2d1ZAAAAABJRU5ErkJggg==\n",
            "text/latex": "$$\\frac{\\sqrt{2} \\sqrt{\\pi}}{2}$$",
            "text/plain": [
              "√2⋅√π\n",
              "─────\n",
              "  2  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 23
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CR5Qn36Pj5Ge",
        "colab_type": "text"
      },
      "source": [
        "##Finding limits"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "x3aGBlJHjrnh",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 37
        },
        "outputId": "674150af-22e4-47da-98da-2cd8d633bda4"
      },
      "source": [
        "limit(sin(x)/x,x,0)"
      ],
      "execution_count": 25,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAASCAYAAACAa1QyAAAABHNCSVQICAgIfAhkiAAAAHZJREFUKJFjYKACCGFgYJjMwMBwmIGB4RMDA8N/BgaGJYQ0XYAq/MzAwHCdWE2ODAwMqgwMDIwMDAwOuDSxoPH3EzKVgYGBgYkYRaOaBlwTeuQGQDEDAwODBJS2ZGBgWABlv2FgYChBN6SBAZJ0cOEH5LiMzgAA6XoX52TB9a4AAAAASUVORK5CYII=\n",
            "text/latex": "$$1$$",
            "text/plain": [
              "1"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 25
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sCnXZj2QktLI",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 37
        },
        "outputId": "746b895a-b04c-4556-c5f9-c139fe84aeef"
      },
      "source": [
        "limit(sin(x)/x,x,+oo)"
      ],
      "execution_count": 26,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA4AAAASCAYAAABrXO8xAAAABHNCSVQICAgIfAhkiAAAAMRJREFUOI3N0r1OgkEQheEnlhqDxlYrA9wCLRfkdWhlLK30FmixsOMe+CnQRmOnUQstxGa+8GVgCRgLpjnZs/PuZHcP/1jHuMETvvCAKxyugk7xghl6uMB9rIc4KoH9aDpL/mX416VpM0yxk/b28YFP7EkN3dA7/CTwHQPsopPBdui4cI1JaCuDjdC3Alj5BxncqOpgdWJjWWPNf83gKLRVAJuhC2+w0Xfk+lMAqqn1yJ2bR25kReTgBLd4xjcerRHyLa5fD28wqzSkqLgAAAAASUVORK5CYII=\n",
            "text/latex": "$$0$$",
            "text/plain": [
              "0"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 26
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WUcTl7ILk23j",
        "colab_type": "text"
      },
      "source": [
        "#Solving a Quadratic equation/Any other equation (solvable) \n",
        "\n",
        "## f(x) = 0"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "T4rHnjLvkzxt",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 37
        },
        "outputId": "f99750d4-036d-4d6a-cec6-cf409bf8cb97"
      },
      "source": [
        "solve(x**2 -4 , x)"
      ],
      "execution_count": 27,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAAAVCAYAAADCUymGAAAABHNCSVQICAgIfAhkiAAAAdNJREFUWIXt2D1rFEEYwPGfksLSNyRg4Rcw32HRUlKIvaa0ELGzEk4bxc7OSi20swuINrJiK6QIqI1wWAQLkWAh4lssdg7Xy+V2Z9+V+8Oww+7sPH8ehtlnhwWdkWAn1972avNvcdTfuduZPFiaMfgFUnxsWOIIzuIMVnAc37CJ+6H9ajhmVWJdv+B66K/hxKxJE1nmR837goth/i08wk3cw3a4/xj7WoodSx3XVG4F50m0m+BTWMX+qfvLeB9in2spdix1XFO5BE9P0CbPsW73NvABd0M/6dBnHo25dpngeXwP1x+9WpQjynUICV7C+dB/2qdICaJdh5DgWziJJ3jWs0sRtVwT8z9yY7trvXntYYmYl8PYNzgcK9wxZV1TBXXwXrzD14jxWwXPL+EOXuM0PkXM3TWNuCbaLdPyXAmxNnGsg3h1iHVN9VQHT7ga4mzIfjGHTBXXVI8JvhZivFJ+z30Q3llrR2lPqrhSYw+uywXcwE+8lH00phnLEppnUul0WSNXdZ1Lot0VPFJceaQz3tvAZxxqyWsWI9VcGcAeHMNB2Sq63bdIBKmCBA/pPHhVVhou9y1SQKnz4LE/Z5o0fx5chXUc6FuiBPnz4AUL/iN+A16dsGoAu56KAAAAAElFTkSuQmCC\n",
            "text/latex": "$$\\left [ -2, \\quad 2\\right ]$$",
            "text/plain": [
              "[-2, 2]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 27
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LWP91LB0lABc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "64785563-56ad-4c29-e6b3-e1c8338fcbdd"
      },
      "source": [
        "solve(exp(x)-x**2 , x)"
      ],
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$\\left [ - 2 \\operatorname{LambertW}{\\left (- \\frac{1}{2} \\right )}\\right ]$$",
            "text/plain": [
              "[-2⋅LambertW(-1/2)]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 31
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bDXpPaaIlMu3",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "e37c3f53-502a-4a6d-f8da-ec5a814d66f2"
      },
      "source": [
        "#Complex roots\n",
        "\n",
        "solve(x**2 + 4,x)"
      ],
      "execution_count": 33,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGMAAAAVCAYAAABSQFBJAAAABHNCSVQICAgIfAhkiAAAAkNJREFUaIHt2b1rFEEYx/GPGlGwEbUICIqdiFEQ/4DVlJJC7Cw0pYUEsbES1EZQQeysooV2dkGwkg22wQiKsRGCRRAREQQV32Kxc2Rz2b3X2dsr7gvL7O08M/PbfW7meXaHEUNJgtXc8a5WNeu5LNN0tm4hPZLXv8f657zaMBoraDiPFJ8jC9qN0ziFCezFL7zGg3D8K2l7PJQLkTV1Qyz933E9/J7G/qIGicxL1/pVXcKF0P8KHuMmZvE1XH+CTSVt9+Fgi/pBUIX+VG5m5ElU64yTmMLmpuvj+BDGPlPR2DGoQn8q54zmjqvkOeZsnMofcT+cJwXtTsgE365MWWdUrn+QzmjF71D+Kag7FsqXA9LSC1H0D4MzxnAunD8rqB92Z1SiP1FtzCjjThj3aUn9Er6pN3i3oh/9qR4D+LKN+XGr41HrewAzwXYJuwrqd+AvXnTQVx30qz/V5j2jjPf42YX9Spv6i7iHt5jElwKbo7KldBiXqOj6u3HGZBe27biEu3gT+v1UYtdYbxcjjh2DyvUnBhMzroRxFmWfBloxG2yPVKypG2LqT9X00gdXwxgLitfYZl7hh40z+GHoZzqitk6Ipb9BqseY0S/nccNaQJspsFmWPWjYhkOyG2rO3xspeVFeXxUx9RcySGccCOUW2ZpbxLy1mzmMrYqD34QsXSxLJ6sgpv62JOp5z+iWnbJ/5626hUQg1SZmDON+Rp4pWYo9XreQHuloP2PZ2nd24u9nxGIO2+sW0Qf5/YwRI0a05T9GHsZGJAoRCQAAAABJRU5ErkJggg==\n",
            "text/latex": "$$\\left [ - 2 i, \\quad 2 i\\right ]$$",
            "text/plain": [
              "[-2⋅ⅈ, 2⋅ⅈ]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 33
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "hoX7IvFEl6cL",
        "colab_type": "text"
      },
      "source": [
        "#Solving differential equation : y′′−y = et."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5ah4OpUnlkWz",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "3ffd0212-692b-4d0a-8888-113ada3922ef"
      },
      "source": [
        "t = symbols('t')\n",
        "y = Function('y')\n",
        "\n",
        "dsolve(Eq(y(t).diff(t,t) - y(t) , exp(t)), y(t))"
      ],
      "execution_count": 37,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$y{\\left (t \\right )} = C_{2} e^{- t} + \\left(C_{1} + \\frac{t}{2}\\right) e^{t}$$",
            "text/plain": [
              "           -t   ⎛     t⎞  t\n",
              "y(t) = C₂⋅ℯ   + ⎜C₁ + ─⎟⋅ℯ \n",
              "                ⎝     2⎠   "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 37
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "08fvSAWKoEk5",
        "colab_type": "text"
      },
      "source": [
        "#Find the eigenvalues of a matrix"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "daSP7Synncha",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "96005240-8757-4dfb-eb35-e3473a26c6a8"
      },
      "source": [
        "Matrix([[1,2], [ 2,3 ]]).eigenvals()"
      ],
      "execution_count": 38,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQgAAAAeCAYAAADQDoDNAAAABHNCSVQICAgIfAhkiAAABW9JREFUeJztnGuoVFUUgD/L8pKEWqHXIrsYVmZS4A8rIkeLStSK6lJU1Ej9iIgyCsKwuETQAyN7UEZRExYFBf7QLAuupUL9KJSKisya3lYXyd6gZT/WPnjvmdkze5+zz2Pmrg+GO3fOXmevOetx9l57nwFFUZSUnFC0AoqiBGcGMKZVg4PanGAJsAFYGEqjErA/8EvJh/Go3UJzHrAR6E8ivAj4EDg8pEYFMwe4oWglFG/UbtlxGPAuCZLEx8B1wdUplruBY4tWQvFG7ZYtVwA7aTLdsE0xjgFmAd9nqFQRTAO+LVoJxRu1W7bsAqYjNYkR2BJEN2brKciFUDoLtVt+NMS9LUH0ZKxIESxECq5KZ6F2y4+GuG+3itFNzAXeK1oJxRu1W3441yAi/spIkbw5BPgX+K9oRRQv1G758LftgC1BTEDWij+3HD8SuB5YC3xhOtgDbEVWPso2MjkL0c1GHft6eVbz38uAx4AtwG+mrxcy6qtTKaPdXMk7RtL40w4kETdsaRhrEbgQeBn7Re4HngR+BDYB3yDFpEuAZ5B5Yz/l2ZByPvBAmzZ7gFVNPv8jvDoArABONef/Djgpo346mTLazZW8YySNP+0G1gCLgZdaNRyDZLe1yM41GwuQXZbxLNiLXIj9wKUeCkZUjWwlgSxGn2ZJ76k2cnXzypP5HNjqWmF0jyDKarcqyf0xqxixkdafepBBwY0Mq0XElX8YOBPJbH+2ONkgsI7GueEuYLV5X/FQLgSTkGr3VbHPpyObQMrGJmRoV5ZRVlF0mt1cyTtG0vrTP8CVwInA09GH8QSxDHgRmSdNTdjRXvN3X0L5pMwCfkKGScNZDLzmID8OuBq4E7gFycgHJ9CjhhipmkB2NFIWu+WJT4zUyMefjgI2A28itROg+bBuEEkQa4BzPTsZC1xj3r/hr2MqtiKO9j5S/Y6McDLwqIN8L/Kdh/MVsBR4J5COSiOjzW5FxkgrnkUerxiRlG2V1EHgHOA4z07uB05BhowbPWVDsAMZwp1t/h9P66lSxHPI9+01MrOR+W8f8DpS/HFlOTATqeMobpTBbnnhGyN5+NMUpF4y6CpQQYY1Czw6udnIfAoc4dC+jt/juTVHPR5CaikAF5HuUfWVpu+sg71CZxUp6/jZzuV7FW23Otn443B8YyQpFfz86QzTPj7Nsy5zRhzq2MFNwCPAJ0hG3+0gswqYGPvsNMQ5nqexOr3dUZf1yF3kVuRCLXeUa8Zq4DYO3NkUYSdS1HLlB4c2RdstK3+MSBIjeTHOV2AeklEucGi7zLT9CJjs21GMKumWOUGS3q9INfaJlPpEG8Z8giEJFTprBJEFZbRblfT+CGFjxIUKfv4UtV8UP2CrQVi3Xsa4AxkWbkeqxz87ymXJPmRutwL/LB/ndPP3y5TnUdrTrXYrY4zYaIh7W4JwubB3IQWXD5Ah01ByvYKzHllXd3kKcCbNN4X1AY+b9z539qnILrYJHjKu1OjuJdQi7ZYFIWIkS3+K0xD3thrEEPIzVH2W49cC9yD7t7cgxZc4dZIVckKwAdiGbDltx+XIfHUz8DXwO3A8MtzqMeda6dH3fcj1WUrr73+xeYFU4UGKRZHMEHB7TCZK6HnvMcmLIu0WmlAxkqU/RcxAljjrbXQZwVykoDKtybEB2ld53/bpzFAlzJwP7Mktzjxk//lnyBx4L/AL8BayXt3yV3+bUMPtLj9A6+tXbyKzDXkQZ5KnTp1En2O70HZrRpXk/jhAmBipkZ0/ARyNPJQ530GXBuYAryBPiSnFMhG5Gz1YtCJK13Av8CryeEUqvJdBlOAsQaryve0aKooj3fjLcYqiKIqiKIqiKIqidCD/A8pK23+jya7PAAAAAElFTkSuQmCC\n",
            "text/latex": "$$\\left \\{ 2 + \\sqrt{5} : 1, \\quad - \\sqrt{5} + 2 : 1\\right \\}$$",
            "text/plain": [
              "{2 + √5: 1, -√5 + 2: 1}"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 38
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "G80CSySzoT6t",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 47
        },
        "outputId": "fd94d24c-abaf-4a5d-c221-143cb3144398"
      },
      "source": [
        "Matrix([[1,2],[2,2]]).eigenvals()"
      ],
      "execution_count": 39,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$\\left \\{ \\frac{3}{2} + \\frac{\\sqrt{17}}{2} : 1, \\quad - \\frac{\\sqrt{17}}{2} + \\frac{3}{2} : 1\\right \\}$$",
            "text/plain": [
              "⎧3   √17       √17   3   ⎫\n",
              "⎨─ + ───: 1, - ─── + ─: 1⎬\n",
              "⎩2    2         2    2   ⎭"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 39
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yisxEuXjqymo",
        "colab_type": "text"
      },
      "source": [
        "# Creating x + y = 3 type equations"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SV1mvjhYobhF",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "99cbe450-f9c2-4493-fcf0-d5ea45ff727e"
      },
      "source": [
        "a , b = symbols('a b')\n",
        "\n",
        "eqn_1 = Eq(a+b,3)\n",
        "\n",
        "print(eqn_1)"
      ],
      "execution_count": 49,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Eq(a + b, 3)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "_JCzgziysMvW",
        "colab_type": "text"
      },
      "source": [
        "## -> Very important utility of the Eq() function- \n",
        "\n",
        "Suppose you have a long equation which you don't want ton simplify. \n",
        "\n",
        "Sympy will bring it to its simplest form for you."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "d1CbvcBKsdDc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "8a8ff32d-0385-4737-cf35-69ab4b75d309"
      },
      "source": [
        "#Example 4x2 - 3x + 2xy + 17x - 27x2 -23x\n",
        "\n",
        "Eq(4*x**2 + -3*x + 2*x + 17*x - 27*x**2 - 23*x )\n",
        "\n",
        "#This comes in handy during writing gridblock flow equations in Reservoir Simulation."
      ],
      "execution_count": 54,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJgAAAAWCAYAAAA8eFWJAAAABHNCSVQICAgIfAhkiAAABBxJREFUaIHt2VnIVVUUwPGfJmGDmE0a5EumZWlKREjpQxo9RIVNL5FpKFFgJVGEUvT1EBakFjbTINVTEBlmadIAZQWGlsRXVuZXhnOaYZMp9rD2h/e73tF77r1fdv5wOPeetdZea52zz95r70NOTk5DzMYq/IbtWIJRbY0o54hiOW4WnWo03sAWnNjOoHKOXI7HflzZ7kD+D/TNsK2TMEOMEN/jT+zGx5hewdcjeA8bk81OrMEDqc2sGZBi2dWEtisxDQeqHPtbHFMjnI4XsQl/owuPYVChUp8MHd6Kp7EZH+AnDMY1GIjXcb24kYXsxWp0YhuOwzhckIIfJzpfVryG4an9Vj7QsZhcRjYBE7EUV7QsosNnGD7BqXgT3+BCXIJ1uBi/ZO10oph2ikeqIaKzHcC1Jez6l2nvoWTzVFYBYr7otGdk2GYWfCpyvardgdTIchHv7UXX56frz7Q6oDnJ8cI6bMYkmxUlZO8q3WH7YFGSPVwkWyBG17PriKEVjBbx/oyjSsgPJ9dmMiz53ODQwWQA9uB3MRO1jHtSUAvqsLkv2cwrIRsjprdOPR/KvGTzbJH+42LlOLIO/61ioYj5wTLyenNtNjOq+O0e3SZBvxYE1A83pd/LKujdLVZ4A0V9NB5rlX47v8QrmIop4k2eg7tEjXVbge6TSWeyKOyHpOt70tFOjsGNogM9X0annlxLMQsn1BHTF1hcQX5WOn9bRv4dLsMIsXhrOo+KHr20it4WPVdU74hFQjmGilXnBsxMNstwdJFeuRVbRx05NIupIpa3qujVmmspulRfvRYei6q091zSm1FG3l07z84imFerBHNH0vta7Rubg3G1WI1swvkVdOcWxLISx9boo1a6ZHs/ilmZ7GrZk2t2rrVSVwcrniLX4686nG2qIJspap9OMR/vrLHNrWIvbbUYhl9W/tPO9oLf0/FHjT5qJcv7Ucy5uEgU92/XoN/sXGtldzoPLCPvvv4rh3awSRkFMUsU9F+lNrcdRhs/is45FidjR5H8BjH9bhF11Z2q1yP1ktX9KMUt6fyC6vtxjeSadQ22Lp1HlJEPT+dyNVrD3CuGyDWiYzTC1tTWoKLrl4sN2rU4RWz0/eNgAdrb6S9G9H2ivqpEo7l2ybYGa+s2xf3J+edqq7lGKD3U9nVwLl9ZJBsvpocfcFq6dl3SrfTm9SamiHiXVNHrrbm2ZaO1e0W0T0yPHSWOaUU2s8TqaIUoHueK71vrU1ubcU6B/lgxt28Wb1Ihq5LNhMZTaTofqV7c9+Zchzk4uywWz+399H+d5nxD1qH68Pthkc0oPCHm/R2ic+4WN7BDz1HwTFGD7MJ5Jfxfmnx81ngqTWWkiHOj0jv3/DdyHYqXxAuwV9TMh3zszsnJycnJycnJaT3/AhK4ankfnHr+AAAAAElFTkSuQmCC\n",
            "text/latex": "$$- 23 x^{2} - 7 x = 0$$",
            "text/plain": [
              "      2          \n",
              "- 23⋅x  - 7⋅x = 0"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 54
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-fEqC9bJvg1j",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "19ceec64-7fa4-4d9e-ae3e-f527095e8547"
      },
      "source": [
        "simplify(4*x**2 + -3*x + 2*x + 17*x - 27*x**2 - 23*x ) #This is the simplest form of it. "
      ],
      "execution_count": 55,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHcAAAAVCAYAAAB8BXHbAAAABHNCSVQICAgIfAhkiAAABAxJREFUaIHtmG1oVlUcwH+bMbcMlpaZwT41F9VyM19QUYgtCCJLKz8USFf0Q9AMEUV8w8cPqYVSsmjUh1gRhKAY1CwmYuCGTsWlgjPxZTbf1iT1i1bO1of//7K785zrPbd7H58Gzw8e2M7/9dz/Pef+z4ECBXLMV8DvwKh8JzIMmQwMAIvznYiNqcA/wDJj/BEk4V3AGeA2cBNoAxYBxSH+PgT2Aj1q8wfQCaxXn/93PKRY9/rdNWx2AVeAh4KDRTlO1IVWYBowHimGz7tAE5L0PuA3YBzwOlAO7ATmI5MN8jdwFDjJ4G4wHZgCXNa/e3IzlVSoBeaGyGYDdUAL8EpgfBrQAawBNuY0uxhUIav2C4usDphD9gp9HCn0APCGxa40JNYHavPZf8o0Hp7GeiFlvwfU76sWWRdwgfAdLTGt2B96EdCsss2B8c06Vh8zzmq1a4xhU6M2e4zxuDm74JF+cZ9TnxeBERb5epW/lGLMIdQg34OTRgJbNfDnhv4RoJ/4jdQK9fdxDJu1arPVGI+bswse6Re3UX1uCJG/qPItKcbMolmDePq/v8q2M3TLGIUU9kRM/w+oTdRbuhzIIC/AftU/BoxNkLMrHukWtwy4jjyvihCdco15KKWYViqQxug80KABfwJKDL0qlbXG9L9F7Voi9K4ytMP8EWnIkuTsike6xX1H/f0QoXcbmbeVbqLb8ODvmxA/mwI67cCDFp0ZDK4OV95Xmy5gjKPNOGAe8CvSLT8foueSs41u4j2zZke/QdrVdk6E3iVkdQOyxQU5C/wZI+jlkPG+wN+LgFsWHf/YE9bdmjQA25BvYz1yfnWhFzkHHgVOA18D1RY9l5xtfAI8bIzVAq8hlzPdhuwXR78+zwIzkUZqd4RuGUOPk6nzNnK8uYK8bU0hek+ovM3B51LVPQE8liC3TvXzqDHumrMrHulty9vUVyZCrxiZw9kUYlp5GblEOI40LqeAO8BTFt0i5JKhzyILshKZXCfZRYlLr/oaHRiLk7MrHukUtxTZoe7VSPk8rTF3JoxpZRaylZ1DbpsA3tSA34XY7FB5ZYh8ncqP4PaNrUK6RpNiBi8x2hPm7IJHOsVdoH6+d9BdqLoNCWNmUQvcQLa1Jw3ZYQ0622L3lsres8j8DrEfOc5kLD/PsFmKfHP2ILdem4Avka1qQPN7JmHOLnikU1z/CBfVSAF8i9sKj0Ul0n5fByZa5P7h+qBFVoJslR0WWYbozvNnw6Ya+BRpWq4hk72JFCvD4OpPkrMLHsmL62+zPdhvpIKUIy91kt0mJ6xCJjEp34kMY5Ygz3BWvhMxKUUuvF2+KwWyKUOOpDtMQdRyvx/0I2fQkUjjdCe/6Qw7JgB/AR8hPUSBAgWGNf8ChmhPYu2xmj0AAAAASUVORK5CYII=\n",
            "text/latex": "$$- x \\left(23 x + 7\\right)$$",
            "text/plain": [
              "-x⋅(23⋅x + 7)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 55
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "t8ck1OZOrOuW",
        "colab_type": "text"
      },
      "source": [
        "#To check if 2 expressions are equal\n",
        "\n",
        ".equals() tests if two expressions are equal by evaluating them numerically at random points."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AoYLjn9toi6e",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "07fe9ea2-71a7-4bcd-97ab-a21ed514d03d"
      },
      "source": [
        "a = cos(x)**2 - sin(x)**2\n",
        "\n",
        "b = cos(2*x)\n",
        "\n",
        "a.equals(b)"
      ],
      "execution_count": 57,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "True"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 57
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AYm_9ryrruvc",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "##"
      ],
      "execution_count": 58,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Yf-G-CU9wmVl",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "##"
      ],
      "execution_count": 59,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "LSK7RX6bwpWx",
        "colab_type": "text"
      },
      "source": [
        "#CALCULUS"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7BWVKyTuwveb",
        "colab_type": "text"
      },
      "source": [
        "##1. **Differentiation**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fHRridmGwuR1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "b36bb8d4-fcf1-4ea5-b2f1-71df2021e21e"
      },
      "source": [
        "diff(cos(x),x)"
      ],
      "execution_count": 61,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEoAAAAVCAYAAADhCHhTAAAABHNCSVQICAgIfAhkiAAAAwpJREFUWIXt10uIHFUUBuBvRvMYo8TgAxQiBcaoGx+I4iIuAooQRERXuhIVkfhABAWD4E5UjBFciC+IoJjAiIIgMiAxIhLzUFFQNzEJkYw6mswmTjSj7eLcJpXqqq5m+goTmB+a6jqP/54+59xzb7OAeY0CHWzOyPkWfsOyITiuEXHdlyWiDCjkTdS1+BePZeB6H5M4MwPX0FiEy3BBJr4JTGMsA9d1oogbMnDNK6wW3fRaRs4fcACjXcFos+2ccCs+Ea37Fw5hO9ZX7Aq9W68sK7AFv+MYduOWhjXvwQi2NugnEu8dFflIWquDZyu6LbgINzVwDoX706KTorrP4A3sxK6KbaE5UdvEUN6BTWJIH8M/WFuz7m7Mah7iVybf73FaSb4xrfdqjc+NSfdCA+dQ2CO66Pwa3bmV90Jzojp4umJ/c5J/VJEvE0n6riW2zcn/7vS+Ib1vVb+rlif9zhbeOWEPjmLFALaF5kTtd3LluzggtmIZq5PPRMt6KzGDfXgo+XyMxX18ZvBL96Wazf1OVHWQz9sl33dwhmjxTbgN57X8gDp8I7ZKFQf1FuGc9DzSwnkQL4livIwvcDv+7uNzWGknnF5R7hXzYFAcKn1/UVR8PR7BoyKZ2/G4mCWDYLpBPqu3sDPpuXQA3qnS93vxZ4v9WIn/f8PZWIfXRXf84eTuKvQ/9erwadKXcWGSfd4Sz13iCjGZ7F9psR9N9ntb7LLiTb3HcyFPokbECTnVY30C68QW+1YU60ccx6V9fC5Pa73XFeS8R60VgVfRPQXbWn0u6OAzMUtW1ejXYBw/i5NzCk+JkfNcH97r03NbtkhLmE4BjYv7x0ZxvHbEfFpUsi3k6Si4M8kfrMivSjFN4uKKblfyuaFhrXfFTFzZoB8KD4g/lD+J7jmMr/EEzqrYFvIlajF+xZcl2SpxtB/BFTU+3QvljhrdcjHEP2iI45TGk+KHX52B6+HEtSYD17zDUnEh/XBInjFx5RmvKupuwKciZvEVloh5eHyOPJeIv2HPa77PLWABGfAf9XnYo6HmBxQAAAAASUVORK5CYII=\n",
            "text/latex": "$$- \\sin{\\left (x \\right )}$$",
            "text/plain": [
              "-sin(x)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 61
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "j3lnrZnawn6K",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 40
        },
        "outputId": "1b4ff261-ad2e-4b3d-e466-7efa83fe4247"
      },
      "source": [
        "diff(exp(-x**2),x)"
      ],
      "execution_count": 62,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAbCAYAAAAAubMBAAAABHNCSVQICAgIfAhkiAAAAv1JREFUaIHt2F2oVFUUwPHf9V5T6c0sDVFfCiE0hZJALiEmV+xR7SEp/CR60BBMFKHwQbAHRSNBRBB9kBASAxErfLimqaj4iVao+YUfqGT2oJbZ9WHtgXE8zlxnxjt3dP5wmNl7rb3O2ufsvdbahwZPyiC04ySO4YOaelPnvIqR6f8AXMKLtXPn2eKoWK161NiReuctNONirR2pd/riBEbX2pF6pxd+xse1dqS7Mxn/YEhe39c4g/5owrdY3OWe1SFNOIi1qf05ruH11G7F/ziSdw2vthMvYRa24DTu4BZ2Y6b6SnZtuIeF+BujutqBT9GBy9iIpViHv1L/d+KtdzVL0v2LXWMyxu3Bf5jQ2RtVc3JjRfG6TWyDHAOwX9Rik7G5ivfsDP3SVYwLuJ3XHout6C1W5aGn41p5LBIr4JsM2U9JNqmgvwnrk+yrjHGTsB038C9Opfs0V+jrCBGeZogX/2OF9qrOfPFQVmTIRuC+OOvmP4jlacyaAv1mkU07xANcjZX4PfVtqMDPISJMfZnaw8QuG1OBzarSguNiouMfo7M+yaeldm4lb/Jo4lqVZEuT7Rw98UuSvVGGn33xq0df3ibsLcPeU2GZmOC2IjqDRPY/i9lJ/we8UKD3jlgp3z/Gzidp7PQK/C2bloL2OQ8Xq6XYiI+KyD/DPPym+GnhotiqC0Vc3YOJIhbmM0fE0tuyi+Zh6bcmZVjhwzyDu08w/nIR2WxxcjiJ9/BnCVvX8/7P9HB2zdGWfj8sYet8CXldMVdst+N4pRP6U8T2vZLGrc7Q6Z1kO6vkY12wQEz6sNL1HbwvtvMxvCxCwj0MLdDrk+yeqJqn3ZwvxIQPiuxYilaxnf8QX7CJwr5DdpI5mmQTi9irtM4sm2qegKaKEue+SCK3MnTOJR3i03+7yOKtIl7nOIC38S525fW3iaqgBTvEau6BgeJDbU8Mrngm3YDFSp+B25Pua7iKm3gzw9a4pL8vQzZKnPOvinBwQ8TmNSLRNWjQoEGDBs8XDwCjJ7YDJWR7wAAAAABJRU5ErkJggg==\n",
            "text/latex": "$$- 2 x e^{- x^{2}}$$",
            "text/plain": [
              "        2\n",
              "      -x \n",
              "-2⋅x⋅ℯ   "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 62
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "09yIz4LNw_2H",
        "colab_type": "text"
      },
      "source": [
        "1. A) - Multiple Derivatives\n",
        "\n",
        "To take multiple derivatives, pass the variable as many times as you wish to differentiate, or pass a number after the variable. For example, both of the following find the third derivative of x4."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Ht6Jd13Hw7uc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "6be30967-2d48-4f86-a9c4-d30a74d19882"
      },
      "source": [
        "diff(x**4,x,x,x)"
      ],
      "execution_count": 64,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAACgAAAASCAYAAAApH5ymAAAABHNCSVQICAgIfAhkiAAAAeRJREFUSInt1U2IjVEYB/Df5UZjJUosZsWCkq+NFCVjUkoWrKSQWVhokpJS6mZDjKhZYCMbC6VMoYSkhrK4CzUZpnxlgYVCwsbX4jy3ed373nvfO40F+ddb7znP83/O/zznPM/hL8Js9OEKnuIrPuIedmNKgRjb8TO+vskWuCcCv8ZFHMV5fIj5yyi14HeH76c/JXAdNmnM1Fy8ikW3NOGWcBvPcGIyBWbF3MFV/KjzeYuz8b+2SZx+aYO78LnNmjflb7aEC2E71iZGAw4E8VSObZF0X2u2itYZXIrvGMXUzPzJ4J3rVFwZI0HekGOrYgxdBQUynqmdMT4U40uKFeNvGAjy9RzbESkbqzJzRQR2S1l/gb3hfwPTOhXXH+THmFVnW4lvOF43X0QgqUvUWtJ9zOhUXG1nj6RKzqIsHesopk9Q4P6MwIWditsXxBHMybHPzARv953O4W+TusWb8DnTTEhe4z0olflD9OJdjk8XBpvEXIHl0gs0hlvS5a9hI4bwBD0YxnwsDv+WOCztqKrxzhVFRfMjXo0veI55Mbc1/IfygpUz/zuMV+WwVCD1eCm1iIlgGa5J73uvdLykJ7SKzVgTa+eiov19ultASC1ONoMLpBfpPZbkcNYH50GB+P/xb+EXb3uP8bSCw/UAAAAASUVORK5CYII=\n",
            "text/latex": "$$24 x$$",
            "text/plain": [
              "24⋅x"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 64
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UyPgYH84xPIx",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "ee765327-3144-4b20-f90c-51ac98fed46b"
      },
      "source": [
        "diff(x**4,x,3)"
      ],
      "execution_count": 65,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAACgAAAASCAYAAAApH5ymAAAABHNCSVQICAgIfAhkiAAAAeRJREFUSInt1U2IjVEYB/Df5UZjJUosZsWCkq+NFCVjUkoWrKSQWVhokpJS6mZDjKhZYCMbC6VMoYSkhrK4CzUZpnxlgYVCwsbX4jy3ed373nvfO40F+ddb7znP83/O/zznPM/hL8Js9OEKnuIrPuIedmNKgRjb8TO+vskWuCcCv8ZFHMV5fIj5yyi14HeH76c/JXAdNmnM1Fy8ikW3NOGWcBvPcGIyBWbF3MFV/KjzeYuz8b+2SZx+aYO78LnNmjflb7aEC2E71iZGAw4E8VSObZF0X2u2itYZXIrvGMXUzPzJ4J3rVFwZI0HekGOrYgxdBQUynqmdMT4U40uKFeNvGAjy9RzbESkbqzJzRQR2S1l/gb3hfwPTOhXXH+THmFVnW4lvOF43X0QgqUvUWtJ9zOhUXG1nj6RKzqIsHesopk9Q4P6MwIWditsXxBHMybHPzARv953O4W+TusWb8DnTTEhe4z0olflD9OJdjk8XBpvEXIHl0gs0hlvS5a9hI4bwBD0YxnwsDv+WOCztqKrxzhVFRfMjXo0veI55Mbc1/IfygpUz/zuMV+WwVCD1eCm1iIlgGa5J73uvdLykJ7SKzVgTa+eiov19ultASC1ONoMLpBfpPZbkcNYH50GB+P/xb+EXb3uP8bSCw/UAAAAASUVORK5CYII=\n",
            "text/latex": "$$24 x$$",
            "text/plain": [
              "24⋅x"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 65
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "di7Pq4BPxcOM",
        "colab_type": "text"
      },
      "source": [
        "1. B) Multiple partial derivatives wrt various variables. \n",
        "\n",
        "You can also take derivatives with respect to many variables at once. Just pass each derivative in order, using the same syntax as for single variable derivatives. For example, each of the following will compute \n",
        "\n",
        "(∂7/∂x_∂y2_∂z4)exyz."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "s1hn-zC8xUs1",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "x , y , z = symbols('x y z')"
      ],
      "execution_count": 66,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "M-pmk5lLxxI9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "abccacb5-c527-4c77-8929-3fad47256cba"
      },
      "source": [
        "expr = exp(x*y*z)\n",
        "\n",
        "diff(expr,x,y,y,z,z,z,z)"
      ],
      "execution_count": 67,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$x^{3} y^{2} \\left(x^{3} y^{3} z^{3} + 14 x^{2} y^{2} z^{2} + 52 x y z + 48\\right) e^{x y z}$$",
            "text/plain": [
              " 3  2 ⎛ 3  3  3       2  2  2                ⎞  x⋅y⋅z\n",
              "x ⋅y ⋅⎝x ⋅y ⋅z  + 14⋅x ⋅y ⋅z  + 52⋅x⋅y⋅z + 48⎠⋅ℯ     "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 67
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dQ0e25OfyB4D",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 42
        },
        "outputId": "16bd12b9-9e71-430a-a203-11311a4ecea0"
      },
      "source": [
        "# To create an UNEVALUATED DERIVATIVE - we use the Derivative class\n",
        "\n",
        "deri = Derivative(expr,x,y,y,z,z,z,z)\n",
        "\n",
        "deri"
      ],
      "execution_count": 70,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAApCAYAAAAoEzflAAAABHNCSVQICAgIfAhkiAAAA/9JREFUeJzt2ltoHUUcx/FPUmvrpRa1oiJtH7SKtUVQRCgVgkpAUFu8lL6I0Ye+KSpirBQpgvZFULEixSd9UESFioh4KajgDRRaFesl3u+lKFW8W+vDf0M3J7vnbLJ7sifJfmE5Z3fODL/szPxn/vML9XIadqauP7C2VkUNmRyJvTiibiG9Qn/dAlJcih34rW4hDePZjsvqFjGbmZfz/Cjswfwp1NLzTGVYexd/ik7Y0FK2Bi8k5Q01sETMnPX4B+ekyp7BJXWIahjP87gr+b4QP+LQ+uRMmCvwF5amnt2HT3F8cv8Nbmqpt1JEh+W4BQcyrju6pjqHs/AWPsMwHsW2qRZRIX14Gw8l9zeLcL0s9Zsn8FhLvR3YmnxfgBNS1934Hqd0R3I2czCCjYmgbdinhhFSMYMiPN+KX4wN08SsGUndr8VPODajrWF8K5LyKeU8/Iq5yf1C7BehYbrzOv7FRRllq0SYOkastSO4IeN3G0UIPLVLGtuyTuzURlkvOmtBHWIq5HyRMO8XYbuVeWJdGhQz40MHB+gom0THTGkoS3M6fsYiLMZXIkb3IpfjOXGM9Dc+wW0iNKc5U4Tma/GU2OBk8SbuF2Hv4pay28W7OLkK4WW4Hp+L3cyNNWvJYo5YvA+IDnkQ9+Kj5NnDqd8uxXfi5cIK/IeBjHbvScpaO2+TGACrjN0UNEl4BltFJ2zBIannc/FaUrZcrB+7jd9pPo43Mtq9WqxJZ6Se9YlZl7WNvqDk3zHjOFeM7u055RvEi7tmEm2/iAcmqWvMKJmtXCdG8+/YnFG+IvksetTVj+MwlNRdV07e7GaP7BDTel1YsL0BMRN3izWlNEXEzcRrfvL5SvlXWD2jYa2vVhX1cVjyuahWFT3MYryMD0SyemXF7R+OL8XZVRa7xOzJM/pWG5/nTAm9MGNOFCe5O8Ve/x1xlFGVXX2nyMC/lp38DuJZEUVeEgOkHyfhbLGdXlKRlmnPLjGbqmCZyOCH5M8c4tDySfwgDjP34j2Rz/RU7pFnJXe7LjFS36+w7afFLBzSvnN6kta9ezsruRNl6hLZ9yM5dSfT9hp8nFwzgjwruYjzl1e3kyMoqfcqrpqgrnZu4haxznwhwtQ+B8/Dpj1pK7mI85dXt5Mj2JeUb56ErqJu4pBpGNbSdLKS2zl/7ep2cgRXi4w6/W+5Kyega5R2buKQadw5Ra3kLOevU92ijmAZXbW6id2miJWc5/x1qlvEESyjq3Y3sdt0spLbOX9FbOh2jmAZXT3jJnaTdlZyJ+eviA2d5wiW0TWr3MQsK7mo89fJhs5yBMvoatzECinlCDZUT79IUIdF7nF0vXIa0gyo2BFsaGhoaGhoaJh1/A98fnqJraoefgAAAABJRU5ErkJggg==\n",
            "text/latex": "$$\\frac{\\partial^{7}}{\\partial x\\partial y^{2}\\partial z^{4}}  e^{x y z}$$",
            "text/plain": [
              "     7            \n",
              "    ∂     ⎛ x⋅y⋅z⎞\n",
              "──────────⎝ℯ     ⎠\n",
              "  4   2           \n",
              "∂z  ∂y  ∂x        "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 70
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "onriNbk1ysW8",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "## NAAAAICE. "
      ],
      "execution_count": 71,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "b_7QaxwAy629",
        "colab_type": "text"
      },
      "source": [
        "1. C) To evaluate an unevaluated derivative, use the doit method."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HtiXkp-Jy2yk",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "dcb37830-a458-47ac-b7a9-50cd5296bf5e"
      },
      "source": [
        "deri.doit()"
      ],
      "execution_count": 72,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$x^{3} y^{2} \\left(x^{3} y^{3} z^{3} + 14 x^{2} y^{2} z^{2} + 52 x y z + 48\\right) e^{x y z}$$",
            "text/plain": [
              " 3  2 ⎛ 3  3  3       2  2  2                ⎞  x⋅y⋅z\n",
              "x ⋅y ⋅⎝x ⋅y ⋅z  + 14⋅x ⋅y ⋅z  + 52⋅x⋅y⋅z + 48⎠⋅ℯ     "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 72
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QGxZu___zC9-",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#These unevaluated objects are useful for delaying the evaluation of the derivative, or for printing purposes. \n",
        "# They are also used when SymPy does not know how to compute the derivative of an expression \n",
        "# (for example, if it contains an undefined function, which are described in the Solving Differential Equations section)."
      ],
      "execution_count": 75,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XwOclzE-zYgR",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dZnyTmJG0aB1",
        "colab_type": "text"
      },
      "source": [
        "##2. **Integration**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Gnm8fxYI0eKA",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "30138144-54a4-4b0a-8910-97b6cdaa6076"
      },
      "source": [
        "integrate(cos(x),x)"
      ],
      "execution_count": 77,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAADkAAAAVCAYAAAD8dkbIAAAABHNCSVQICAgIfAhkiAAAAuJJREFUWIXt1k2IVmUUB/DfjB85alikgYJxQbPaWGFFC10IhiARUavaFBUR9rFoISRBu9DID3AhmYIuRIWJgiBiIEyJMD8qDLKNphhONqazsdGceluc58U79733veVcDMH/5t57Pv7nnOc5z3kuN1GKDC1sb5BzB37DtHFwLBJ5vdREQplmi3wYf+PNBrg+xiCmj5doEu7F7PESJQxgGH0NcD0iNmB1A1yNYYHYxS0Nch7DKfS2Bb0FgyfwhdjyyziDfViZs8l0tmtelmE3zuESDuPxioReQA/2VOgHEu/TBXlPitXCmoJuN+7CY2WELyenQbGy72IrDuJQRUFF2V4xQA5ggxgol/AXlpbEPIxR1QPn/uT7Iybk5OtSvA9KfJYl3ftlhEfE7t1ZopuZe89UF9nCOwXf5Un+WUE+TRT4Q1kyOWxP/s+n79Xpe4/OToQZSX+wjOwILuL2mqCZ6iJPGrvibZwS7ZvHguQzUBNvLkbwM15LPp9jchefEfza/sivxE5MFa2xAU9iVk0CRXwv2quI0zoX7470vFDDeRobxUJuwtd4Cn928Tkv1335ItfjObHqb4g756w4Zw/VJNLGcIV8VGdrjaTnlH/BO5R7fxF/1Nj35fgrcRtW4EOxM7+7uquZ7tO1DF8mfR5zkuyrmlyeFdfMYLLfXGPfm+yP19iNwTZjx3immSJ7xCQe6rC+ihWiLY+KRf4JV3BPF5/7UqyP2oJ8Cy1NgYtoT9u6FvmvaGG/ODvzS/SL0Y9fxIQewtuYiLVdeB9Nz71lyuFE2C/umHViDLfEfTYp2WWa2Ul4JslfLcgfSPkMYl5Bdyj5LKmItUvMgLllylfEsDkhdu08vsMq3JqzyzRX5GQx3L7JyeaL8X8BC0t82pf9gRLdDDFwPqnI43/DWyLpBxvgej1xLW6Aq1FMEdfWp+Pk6RP/2v1FRdnfyfXGKL7FLeLsX7lGnrvFb+l7qu/rm7ih8Q/evchxiVfDQAAAAABJRU5ErkJggg==\n",
            "text/latex": "$$\\sin{\\left (x \\right )}$$",
            "text/plain": [
              "sin(x)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 77
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cAaBfB0c0lrZ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 37
        },
        "outputId": "a820496a-3b8e-42f3-c39d-d0e7f46ae01d"
      },
      "source": [
        "# To compute a definite integral, pass the argument (integration_variable, lower_limit, upper_limit). For example, to compute\n",
        "\n",
        "integrate(exp(-x),(x,0,oo))"
      ],
      "execution_count": 80,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAASCAYAAACAa1QyAAAABHNCSVQICAgIfAhkiAAAAHZJREFUKJFjYKACCGFgYJjMwMBwmIGB4RMDA8N/BgaGJYQ0XYAq/MzAwHCdWE2ODAwMqgwMDIwMDAwOuDSxoPH3EzKVgYGBgYkYRaOaBlwTeuQGQDEDAwODBJS2ZGBgWABlv2FgYChBN6SBAZJ0cOEH5LiMzgAA6XoX52TB9a4AAAAASUVORK5CYII=\n",
            "text/latex": "$$1$$",
            "text/plain": [
              "1"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 80
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ScRP1w5-1EZ4",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "d167e556-a633-45f5-988b-69a9dd95c306"
      },
      "source": [
        "#As with indefinite integrals, you can pass multiple limit tuples to perform a multiple integral. For example, to compute Gaussian Integral.\n",
        "\n",
        "integrate(exp(-x**2 - y**2),(x,0,oo),(y,0,oo))\n",
        "\n"
      ],
      "execution_count": 81,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAUCAYAAAADU1RxAAAABHNCSVQICAgIfAhkiAAAAbJJREFUSInt1T2MTUEYBuBnuWEl/mKLbSh0RMONRINiEyIhQUWhESLRiEqhkFsgGomfTUhks4UOoVAodLKyjcLGX3RaCYUgbOKvmLkx99sz9hYbko03mZyZ95uZ857v/c4M8wjD+I6rlfgh/MztaAwumCMRe/NedxtiazCKT7XFcyViP97jUeAHMJ5j1/sRsdvvlM3WNhXrlmME9yVLSpzIscP4XBPRKvofcA3H8QJ3itg6HMAEHmKqiO3BItwLe6/HBVyWMjRSExGxT/rSs4E/lfkjDWtuS34PFlwLT/AaSzLXUSnMVhhvzM+ngW9X+EHswgN8LfgzkmVb8aVBeA9iYXZFTAW+jW94HvgdWKrXii04jYuYnE1AE97go1TVXSzDDzxrmD+OaazI45ZkwUssDnM7KnaUWJknPQ78tszfDPxCvJOsiHv00y51F5U18ScrmFkP2zGk14ppjGlGW6qTCSlbjVadzAqPBf5G5ncG/op0LgxXXhrR0cexXcvEqvzcgNW5PyD9zpN426eIKqKIpgK8JR2753Awc5ulO6HprvhrOC+ldu2/FPHKzEL9j/mBX+MPa7gua93kAAAAAElFTkSuQmCC\n",
            "text/latex": "$$\\frac{\\pi}{4}$$",
            "text/plain": [
              "π\n",
              "─\n",
              "4"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 81
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "osYWBYuH1565",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "4e1fb6d0-8df1-4232-c408-30baef92412b"
      },
      "source": [
        "# If integrate is unable to compute an integral, it returns an unevaluated Integral object.\n",
        "\n",
        "integrate(x**x,(x,0,oo))"
      ],
      "execution_count": 84,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFEAAAAnCAYAAAB39KTqAAAABHNCSVQICAgIfAhkiAAABARJREFUaIHt2m+IVFUYx/HPlpmVQkRqEbZlRQXRmoFU9I/SikAiSiTJiKw3UgiVSAuFLwyj6IVF/yGkkJDYiCSpXggVVmYm9UITMVOrzbQyC7XdanvxnGFmZ52dP3eGmW3nC8u95557nud3z54/z33u0KYlWYpteAMn4yZsxie4rHmyRg4z8SLGYzHW4StciLPwETqaJa4V6MCxZe5ZjMsLyuuxoKD8MibWWVfTOaaCe8ZhOX7F73hS6c7cJqYvXIPj8SBOx0m4AL9k0DtieR0DRX/dJe7tENN5NzaKKTwfe7ATtzZYa0syCf+KjnsAc9L5nmaKajXGlKmfJr8RrBLTeS324UQcapy0/w/zxMg73GwhrUy5jWVCOh5stJAKuR1/obPg2grswOSmKKqAh8RI3NFsIYkOfIFXUvlh/IzzMticIp7xrVoNlFsTcyPxj1od1JlcZPCu+Md243psz2Dz0nT8slYD5TpxfDr+WauDBvCBCJ+WYXY6z8L0dNxUq4FK18RWGYlwHbrE1N5bB3uZR2I5Vokp9GajHIiRNYDbiq53YGWqeyJd6xJh1j3owfsV+hiDRfgaR7ALS5KPXvyQQVNZ3kkNXq20QQ104R9sMfh18unk+6VU7sSPeCyVLxIvAteWsT9WvlM24ynxPIfFBjUgnrMWTRWxLjV6pppGNbAy+bk7lbtTebVYck7BVkPFr8anZWznOupRgzNIV8u/xi6tQVPFbEwNH6+mUQ1MESNjJ+5PPt8ToygLM5KtNSXqt6T62Y3UtDU1fqTahjWwXH5krBevlVnJJU9KJYM/TvVnZNHUSrvzvoLzBerzXn6DSL1tKFE/VQTrxRtLXTUdMHhdaBTzxCbRm/y9UAeb45KtUqHL9FS/ttGa/nb0rb6e3Iw+EX5MxDfox/kZ7R4n9H9for5HPNuyRmo6QX49uLHaxhVypZgi34rsN5FkGMDbdbCfW9OLN44l8s9WnCiuq6ZJBY6uqLZxBUwTy0Uvzimqy0UFV2X0cVey04fXxKeNz8WuuzvVFWaE6q5pqnwnXly1/OE5Fz/htxK2Zya/n9XB1yIxqvrFa2KPWA93YX+jNXXJd+LZVQofVQwX4kwoOC8X4iwUQekRkQ3JOg1HLDPEdv98Kt8hRmG/4Tt7brrnPvGR/lmROjuzYUpbmNwaeAiXiMTngPL5ug3ymeYc20W0PypZY+g35uFixLEiFptTdP05fNgIga1I8TSdL3KIB8VvaG4Ru1kpThWpouLk6F6cVieNLU/x54EDuLMZQkYyVeXFjsJ+kbws/lw5WcRco4KsndgnQppZRddnid8jtqmQuaIz7xUhzgoR4nQO16jNUBbiO/HrhE0i9d6mTZs2I43/AC1uHozqKQGuAAAAAElFTkSuQmCC\n",
            "text/latex": "$$\\int_{0}^{\\infty} x^{x}\\, dx$$",
            "text/plain": [
              "∞      \n",
              "⌠      \n",
              "⎮  x   \n",
              "⎮ x  dx\n",
              "⌡      \n",
              "0      "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 84
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "PfwXTVuO2FTT",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 41
        },
        "outputId": "c8638b9b-41e3-4574-ddce-e2b2718c5c41"
      },
      "source": [
        "#As with Derivative, you can create an unevaluated integral using Integral. To later evaluate this integral, call doit.\n",
        "\n",
        "exprn = Integral(exp(x**2),x)\n",
        "\n",
        "exprn.doit()"
      ],
      "execution_count": 91,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$\\frac{\\sqrt{\\pi}}{2} \\operatorname{erfi}{\\left (x \\right )}$$",
            "text/plain": [
              "√π⋅erfi(x)\n",
              "──────────\n",
              "    2     "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 91
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Kr_ca_dX4bJf",
        "colab_type": "text"
      },
      "source": [
        "#3. **Series Expansion**\n",
        "\n",
        "SymPy can compute asymptotic series expansions of functions around a point. To compute the expansion of f(x) around the point x=x0 terms of order xn, use f(x).series(x, x0, n). x0 and n can be omitted, in which case the defaults x0=0 and n=6 will be used.\n",
        "\n",
        "n is the highest degree upto which we want and xo is around what we want our expansion."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "6APbJSxF3ut9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 40
        },
        "outputId": "13c0c68c-29ff-4640-b60e-6a45cdb2ee62"
      },
      "source": [
        "expr = sin(x)\n",
        "\n",
        "expr.series(x,0,5)"
      ],
      "execution_count": 93,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJwAAAAYCAYAAAAPmZSDAAAABHNCSVQICAgIfAhkiAAABXVJREFUaIHtmmuIVVUUx3+jOY2OZBRimeKjobDSDFGxtHxVjGaBSY8x6KZpHzSiPvRQSCNwJA2jPohGNNFLS3Gix5RI9jDsISUaWUyWU6aVNkqFpo3dPvzX5R7PnHPuueeec+/N7h8GZ6+912P2Xns99hEqqKCCyJgH7AB+t5+twNSSWnTqYTGQdv38HJb5tGRsKhn2Ag8ArUAX4HagGRiBHLGCePANMN4xPlEiO8oS7cBdpTaiDPAc8CtQW6CcxcCXOdaMQJHvzgJ1/afQFbgFOA4MDVjXB93Qp1z0ScAGlC6OAfuAd4ApsVuaP7oAE4HzHLRa4Cyf9SOBf4D7YtC9GDiC9uN7YA0w2GPdBmA/0DMGnWWNocCfQAdwmNw13Fx0Gyc4aI8Z7UdgNbAEeBr43OZKiVHAFmAW0A2YBmwjW09tBy5x8WxEe9E9Bv31wE3AMGAy8B66lGd72JkGFsSgs6xRDdShsN4IHKTzATjRYmu62ngO2qgmk+VGt4h2pUzu+Ij8ADOQ44yx8ULgeaAf0BdYZzpaydbnF6DotroAvUHoiVK1V/TcBbShiOyJjcjgG130KnQAaWBpHFaGRBz2bAKe8Zk7A6XLZ218Otq8NrydrRCkKMzhrkDlwf02HgPs4eTGrwdKY2lgutGW2niSj9w49ngzsNKDvsj4r/VjvBTVM1+RvfEAjxvjqhyK40Yc9rwLvOAz12ByrrfxdTZegQ5yKup67yEbVaIiRXSHqwa+BX4iexFWADtR6prpWNtsehbZeBsqL/yahUL3uAY5+cMec5NNxvIgAU22KGXjBTZeS0BoTBD52LMUGAcMRLVcI0on9T6yX0X1Xo2NHzHZjegw3e9N7wO9I/4dKaI73B3G+6iDlqkz08CLDvorZB2uFjnbzhzymwi/x8uBq4BBwGjgDfTmOcBDbi+T82mQ8v7AUdSBzDeGt4k/xYRFPvY0oXR4DKXGTfiH8xrgD+R0Gaw0+R3o3W4sqlGGog41jYrkKEgR3eE+MN7RDtpgsjXSMAd9s629DdVvaZQ2g5DPHq9BHepxFHHXAxcFyD5KiIfhRrK35yNUG4TBHjpHhaAfv1QXlz1BmGbyGhy0VUb7C0VJJ3qgrjVN7vS6h/z2oSlAVi063BPk7jKrUFPxN+oax5CNVLmQxB6DnLIjM/D70nDA8fts9O4SBrvRYYXFvpDrotoThOnoIN900A7bv18gp3HiCIpys1HdtDVA9hPAmS7acOAG9ADrlr09QNYA1Bm3o2gRhIkoja0FfnOsr/HlyCKJPQZdkkC7G1Ddk+l2vLqPYiIJe7qip5AWF32W6XDTM1hm8w9G0JkiWkq93PjaQ6x9C5UT59u4r/FuycGX1Jl3Mbm7/RZMQbd+ByqOv0bh+cKYDMgXSdkzAW3sXBd9ANogv7ejFuO7OYLOFNEcLlOHpVH08sNMWzPHQatCtewBTw4hyTMfYjat95oci8Lod8C5RpthDM0xKM8XSdrzJKqJ+njMvWY67nXRr0HOeIjgg/dDiuhNQ6vxzveZr0dpa6HHXOYxuM5jLukzz3TXnewejuqX/WTDcQafGdO4GAwIiyTtqQJ+wD/N9LP5NOpyl6FD60A33/1AGhYpojvceORQ7cDVDvo56L1sL3IUL9xqeue56MU485fRvvV3EutQ23qIk9vrDDKPdx8XqDwskrZnpPEHfcjujT7mt6F0cxB9jB4VUScU/qXhYuAl4Bf0fPEhamLmEfyBvNp4PnHQinHmvdAlKUV2LCssQZs5qNSGFBEPob/5siLqvNt0ji2izrLELoKfIU5F1KBo/XqR9HVHT17riqSvgjLElWQ/dyWNIej/zQ0sgq4KKqigggoq+D/iX4q5vRKIrbt1AAAAAElFTkSuQmCC\n",
            "text/latex": "$$x - \\frac{x^{3}}{6} + \\mathcal{O}\\left(x^{5}\\right)$$",
            "text/plain": [
              "     3        \n",
              "    x     ⎛ 5⎞\n",
              "x - ── + O⎝x ⎠\n",
              "    6         "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 93
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-meaUdqf4_-3",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "K5rYRoOa5nx5",
        "colab_type": "text"
      },
      "source": [
        "#4. **Finite Differences**\n",
        "\n",
        "So far we have looked at expressions with analytic derivatives and primitive functions respectively. But what if we want to have an expression to estimate a derivative of a curve for which we lack a closed form representation, or for which we don’t know the functional values for yet. One approach would be to use a finite difference approach.\n",
        "\n",
        "The simplest way the differentiate using finite differences is to use the differentiate_finite function."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "E_1-i2Vu5RO5",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#########################################################################################################"
      ],
      "execution_count": 94,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rG2Z2gWO6MJ-",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2pATjCvk6RA7",
        "colab_type": "text"
      },
      "source": [
        "#5. **SOLVERS**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "G126cquQ6VL8",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "849c2332-5d79-42bf-b2a4-b3e28a707c49"
      },
      "source": [
        "#1. Symbolic equations\n",
        "\n",
        "Eq(x,y)"
      ],
      "execution_count": 95,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAATCAYAAAA9DTUcAAAABHNCSVQICAgIfAhkiAAAAbdJREFUSInt1jtoVEEUxvFf8FFooRaCCkmjYCq1ES1MZ6Wdj0ILHyCCKCjaBHsfAW0kCMFma9OIlaQzEBFtRFSsNGChohBFUXzEtZiz5LrsY9bcuETywYU758yc878z98wM/7HGUMXeOnsPKuG7/I9Yzka+c038G/EN480CbMY0nmFRwX41Ao+UgpmnbZFztIl/DD+xqWboadCpgsM4Gu/ncQE3cQC/WgCcwcoOgB/hVhPfEnzEe/TV+fYHzzWcbpWgF1/xEqek2bmDpRlwk9E/96m0iXc3+q0t2JbjFd5iRQaTS4WEE1iWM2gOdDEY9hRsQ2E7khukVnxV9JcI16l2B8NQtPvxHfc0KJHFDQIcxBW8wRrpnzyRmbzMmiFBV7E92sPSxnQy7C21S/ryx1iN5/ghbYM5mlRuzcBTfJYmuYrrOSA78AUvzBTcvgjQavbmWiPB8AnvsKrdgC34gNdYX+d7GMEGymXM1iEzK3msXecNUn1MKRxABe2MQPdLBOxEA5H/gcbn4rzSbelWsrXbILNVreiHuw3yt+rDIG5IF8knundoz1rHpdWYku5f67qLs6AF/aHfjqN4hKT0aGUAAAAASUVORK5CYII=\n",
            "text/latex": "$$x = y$$",
            "text/plain": [
              "x = y"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 95
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JwSKfPER6c6L",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "13f925af-4a7c-419e-915d-d53e85b7996c"
      },
      "source": [
        "# solveset(Eq(expr, rhs), x)\n",
        "\n",
        "# example sinx = x\n",
        "\n",
        "solveset(Eq(sin(x),1),x)"
      ],
      "execution_count": 98,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$\\left\\{2 n \\pi + \\frac{\\pi}{2}\\; |\\; n \\in \\mathbb{Z}\\right\\}$$",
            "text/plain": [
              "⎧        π        ⎫\n",
              "⎨2⋅n⋅π + ─ | n ∊ ℤ⎬\n",
              "⎩        2        ⎭"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 98
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9rcI_akU6g2R",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "037a09be-d042-45bb-c2a5-970b26825c98"
      },
      "source": [
        "solve(Eq(sin(x) - 1),x)"
      ],
      "execution_count": 100,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC8AAAAVCAYAAADWxrdnAAAABHNCSVQICAgIfAhkiAAAAkpJREFUSInt1k+IjVEYBvAfM2mSf6HYyY7MYkzZ6g6JQo0sZiWLkShJiJWakbCzoFhhY0VJiqSmK8pKzRiDhcWQNGRhokH+jMU5d9z7zf2++82dmUieOp3Te8553+c73/Oe9/CPoIDRsvb8j7L5jcUqeY2WJmZWWXwP3Tg3RcGX4AfOYhF24Tpe4DOG8QCdKXxGIp9uvEwLUhC+qmuKSJewO/ptw544foMrOIWL+BDt1zAjw1dR2cmXo2B6yN/GezRgHbYaf8JL8SrG357hq6iGbKphs/G6S2ury/bNi4RvCtLpieOfCf9DuBDHhZycNOZcN4zz2IsB4feWsAIdgm7voq9sbgtmCRqvhW+x/56TUwUKsmXTHudPJOxHor2zyp6r+ISmGrEb0R/9bMxYV1SHbKAl9r0Je2uKvQmbBM1/qeH7NJpxC3fyEqqHfF/C3ir86icJ+wbMUVsy+3FIqCs7JsCnAgXZshnER5VX2Vwh+fqrrL+Er5ifEXNfjDkg3Di1UFSHbBZgGR6rvGdbhI9JSqZBuBJ7hGSvhgNC4Xoi1IChnFzGkJd8lmQYT36tUE3TJHMUZ+K+NrzLyaMCEyWfJNkc+6RstglyulHF1zEhQR9hvVDA6kLeez7t5BfGfhWe4rUgo3Y8xNvE+p04LhSs+0KyJjGIyzl5jaEgPWF7Y8DZCXuHcHIjOBxta6Kfg1X8dKldoYsZHIum+W1zMvpZPkk/1VBUg/xk3/PPjM+NySD1PV+u+UHhzVxCvYm0ss59aSi95//jr8Ev25en/X2TnJkAAAAASUVORK5CYII=\n",
            "text/latex": "$$\\left [ \\frac{\\pi}{2}\\right ]$$",
            "text/plain": [
              "⎡π⎤\n",
              "⎢─⎥\n",
              "⎣2⎦"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 100
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "uPqbgFQv7cS8",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Hence it feels like solveset gives a set of soluttions and solve just gives a solkution."
      ],
      "execution_count": 101,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "E-bszjGH7381",
        "colab_type": "text"
      },
      "source": [
        "##5.1 **Solving Linear Algebra using linsolve**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yIpAmeBP7oZH",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "8c7369fa-dc6e-4b36-9915-a28ddc3bb780"
      },
      "source": [
        "linsolve([x-1 , y-1, z-1],(x,y,z))"
      ],
      "execution_count": 104,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAL8AAAAXCAYAAABapZ6FAAAABHNCSVQICAgIfAhkiAAABIFJREFUeJztm12IVVUUgL9Ryxkn0lHB35l8KFPzwRT/IIcbjGVElJgvPl1ChCiNUaG0HAdEFMkSxoIMciKDiiwtH6SCIX/IFHWoiXlQYQT/lWzSUJlselj7cMfj2Weffc7suT9zPjjsmbvWXmvtdffZZ+999oWUlJRAlgBHgE7gLjBNo/cpcAWo7KO4UvovM4BuYGmITiPQBVwC9gATbZ1MAf4DbgCfABuA0QF6M5XeSlsHRcrLQBNwEPgb+SJ25TWi4iZOPr8FLgIPaeQZYDOwX9k7ahvUa6riCoPeD8BfQIWtgyKlFcnLDaCdtPMnJU4+Zym9tRHsH0cGZ92NEsg65WB+iM5EZXiHjeECIIu0LROj7tPAY0CZqp92/mTEzWc7cBYYYND7XNms9gvCKg5UZVeIzitI0F8aAojLSiTwVRr548Ad4IAj/0G0AKeQuAqZQsxdEHHz+QVQQ/jgDLn+O9AvMN01JuqQhfCRhHZ0HFblHI28CWnU6478FzOlnjuvfabOryWs8w9T5S2NvBLZ/WkH/okbgIETyv/sANlipOEfAL858l/MlHrujqmy1qB3W5VD/QJd5y8D5iGPorManXHIyHHR4DwJXUgjq4ExPT6vBN5DtlcbHPovZko9d51Ix64x6HWoMuMX+Dv/AmArsjU0HVnIXtIYHaHK6wbH3RZX0ELHe7zN7fFZAzAeeBNJQhhBMexUspYAWbPBXjGRNHeFzp/ASIPOZ8gA/i7wFbARmAAwyKe4AHhD/d2GzAt1eNOh8hCdM+QeO1G4EPCZ9wXOBr4BJgH1wC/IyzUT28hN4TymAS+q+h0+WWvEWIuBpLkrdCrQT8s9zgObgPeR6R7Aj9z/vQPwMNIxbgHnCFglK8YiI+Uhq3DtqUK2U39W//+ELLKfTGAzS/ytzp5kKOytThe5c0mG6PkcgLTtjEHveXL99AnggSiB7FKVpmrkZci88WoUYwn5A7iJHLfoBj5MaC9L/+j80Pu5c0mG6PmcrHR3G/S2Kr06vyBst8db6A7XyLuRPeKRwKOGAJJyCFmofQRcA9527K+3aUbylc2D76i5ayZ/McbB28JtMehVqbLDL/DP+XvivRwIu0F2A4uAZ4HThiCScBhYhryirid8ke2al9QFubNOc8ktlK8Bq311vBz+6zSyYKLmLl8xxsknwDPIFG6vwX6sdq3HPDV4ELgM/GpjOAbetutRZLqVlCzxpz2NhO9YdQTUOYkc2qoKkLkmau7yFWMj9vkciqxJ90Sw36zsPGIT1Fuq0kKD3hql53IR9R1yl8906MMVw5DYt+TJf5Tc5TtGW5Yjfe6pCLp7le4oGweLVKV9yIsS3fSnHFkffG9j3AJvobbdkX3XvIBs9wYdB3dN1NzlM0ZbKpAt8a8NeoOR05+d6rI6ylMB/M69jyDdj1lqkWlSb/2YpQZ58nyMHL5qA4b0ku1Sp9RzNxmZKk0I0Wnk3n67Po6jwcBzyAnBBvpuZFiGBH0deSs3to/8lgJp7mQt9w7wKvoBOyUlJSUlJSWlv/A/sJdJvYweaaMAAAAASUVORK5CYII=\n",
            "text/latex": "$$\\left\\{\\left ( - y + 1, \\quad y, \\quad 1\\right )\\right\\}$$",
            "text/plain": [
              "{(-y + 1, y, 1)}"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 104
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qkwQZI1r8Nha",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 37
        },
        "outputId": "6684f15e-90ff-476a-8633-d6c58207052b"
      },
      "source": [
        "# A*x = b form\n",
        "\n",
        "linsolve(Matrix(([1, 1, 1, 1], [1, 1, 2, 3],[1,0,1,2])), (x, y, z))"
      ],
      "execution_count": 109,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKMAAAAWCAYAAACsayxGAAAABHNCSVQICAgIfAhkiAAABHZJREFUaIHtmmuIVVUUx39jpo6WjiYmljWgKaN+KMUekHIsXxCSon4JrCA/RKZJBpUiXotoiEzLL9WHHFG/hOJIEaag4qO0EIXCCW3wGjWZr2aaxHyUfVjrcMc9+3FPD+893vOHy54567/WXufcddc+a+0NGTKkBE8A+4E24E/gXgdvLXAK6HWd/MpQPhgDXAXmejg54DJwEmgEhiWdZATwF9AOfAS8Dgy08MYq70WHnTtVvwW4COSBVUDfpA6lHLOA1cAe4DfkC1xfUo/suA0JrM3A98AFJBntBZ4Bulh0NgM/A7c4bEZAPbAVue+vkjo1TxUXBHjbgFag2iIbAvyidhrVoR36/3fIjVcKDiP33Q40Ub7B+CziWwuwAXgTSSaten0jUGXo3K+yxUXYP4gkL1fgWrFUJ5jk4QxTwx865J+rjfnG9Xf0+vtJHEo5JgD3IF9kRPkG4yPANDpnwIHAD4jfMy16TcAJi56JDWpjcBKncqoUeTj1ynnUIhuisuMWB28FfgfOU5nvmRHlG4w+LEb8Xm2RLVPZlICNBuXVmoJQFIcwESls9ltkE3TchmTPjmgH9gE9gQf/pQ8Zrh8u63jFItuno28l9cIXjDU6XnDIeyHVdROS4UwM1/GoQ/+YjokrqwwlQVfgSf17q0X+tY7jA3b+0LGPKXAFYxUwDkmnJxycO4CbkCrKhniyNoc8vl7jkGcoL9QDo4DPkFrARBsSaHcF7OR1jEyBGYxTgRVI6T0aKUxOOozGlfCvgcnTiDzyQyz2k7Z3v6RYACxCOiBzPLxzQP+ArXVIgnsb+Bh4A31/7GoQpwIv6N/fYn9RjREv3z0c8jjzdUrHxvVWzxylQjOF5aQYtPxfjpQBngfeBY4gheo5D7ca92tdjJ+QdtFKYLZe204hY16D3sDjavRHZCm2YRCSFfY65HNV/oFDHrd9bJX4jY6IdGTUhYif3wADAtwuSKHaHOA9RiFuRgI3F+PIelUa5ZBXIVuApx3yrLXjRkT5B+PLiI+HCC+9AHXK3xTgrVDeRFPgq6bjwqWfQ34V2I04OtQib0baOrXIbk5HLEeCcB2dK/EGtf20x7dKQQOleRZLkYLlILJynSlCJ27R7Qzw4m3gvCkw3xk7Iu4p+QJ2E9KNn4LsY5p4DvgCeA+5qSbgAaQHeRRYYtGJ57P1stKM6fqBwh7/Q0jAgXzhLxk6pXgWTwGvIf3jPdi3g/MU/I4xWXW2BOz/o3uKO+qRh9MN2Xs+4OEMBtYgLaBLSMb1HZQ4hBwkuNEOUuTwV+R5i04pnkWOcPdgl6HTB6kxGouw36A27k7i1CuqNCPAe1V59yUx7kAN8ut66z+wlXak6VnMR2Lg4SK4W5R7e5IJZqrSp0h2cy3XPZBs90kS4w5MQ1oqtqNqlYa0PItqpLW1McDrjpzuadNPoq3oaqSk75ieXYdrxyPLeiVWxpWOOmRpr/VwclwbR8tsJPNcmonuyJGiOuT8mW9HJkMGFyJkCT8LfImc7cyQIUOGDEH8DTHHI3b0z0h0AAAAAElFTkSuQmCC\n",
            "text/latex": "$$\\left\\{\\left ( 0, \\quad -1, \\quad 2\\right )\\right\\}$$",
            "text/plain": [
              "{(0, -1, 2)}"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 109
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iI9S2UQS8ys7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "##NAICE. So you write the Augmented matrix in ([R1, R2, R3]) type as an argument. and the variables to solve for(tuple) as other. \n",
        "\n",
        "# linsolve(Matrix(([R1],[R2],[R3])),(x,y,z))"
      ],
      "execution_count": 110,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hUB5dl--9e2Z",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#####"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Xw90L6le9qBL",
        "colab_type": "text"
      },
      "source": [
        "#6. **SOlving Differential Equations**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Mtqq8_949vky",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# To represent the differential equation f′′(x)−2f′(x)+f(x)=sin(x), we would thus use\n",
        "f , g = symbols('f g')\n",
        "\n",
        "#earlier i had mistakenly done x = y so\n",
        "\n",
        "x=x\n",
        "\n",
        "diffeq = Eq(f(x).diff(x,x) - 2*f(x).diff(x) + f(x) , sin(x))"
      ],
      "execution_count": 113,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kNq0bFIz-HPr",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 42
        },
        "outputId": "946dbc02-adab-4170-dd09-f4eaa12fa26a"
      },
      "source": [
        "diffeq"
      ],
      "execution_count": 114,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$f{\\left (y \\right )} - 2 \\frac{d}{d y} f{\\left (y \\right )} + \\frac{d^{2}}{d y^{2}}  f{\\left (y \\right )} = \\sin{\\left (y \\right )}$$",
            "text/plain": [
              "                      2               \n",
              "         d           d                \n",
              "f(y) - 2⋅──(f(y)) + ───(f(y)) = sin(y)\n",
              "         dy           2               \n",
              "                    dy                "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 114
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iDURWcNI-Jac",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 38
        },
        "outputId": "e29c1226-96bb-477f-a184-d936ed64d493"
      },
      "source": [
        "dsolve(diffeq,f(x))"
      ],
      "execution_count": 115,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/latex": "$$f{\\left (y \\right )} = \\left(C_{1} + C_{2} y\\right) e^{y} + \\frac{1}{2} \\cos{\\left (y \\right )}$$",
            "text/plain": [
              "                    y   cos(y)\n",
              "f(y) = (C₁ + C₂⋅y)⋅ℯ  + ──────\n",
              "                          2   "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 115
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bF67z5W5-gh5",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#This y is displayed instead of x because i equated both symbols once, mistakenly. \n",
        "#Otherwise very CLEAR!\n"
      ],
      "execution_count": 116,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TZSbSDFb-qte",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#End."
      ],
      "execution_count": 117,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Y005iajw-u7e",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}